home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload Trio 2 / Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO / dir37 / ms_sh23b.zip / INCLUDE / UNISTD.H < prev   
C/C++ Source or Header  |  1994-05-23  |  10KB  |  401 lines

  1. #ifndef _UNISTD_H
  2. #define _UNISTD_H
  3.  
  4. /*  unistd.h  */
  5.  
  6. #include <sys/types.h>
  7. #include <sys/proto.h>
  8. #include <sys/null.h>
  9.  
  10. /*  for access(2)  */
  11.  
  12. #define R_OK         4
  13. #define W_OK         2
  14. #define X_OK         1
  15. #define F_OK         0
  16.  
  17. /*  for lockf()  */
  18.  
  19. #define F_ULOCK        0
  20. #define F_LOCK        1
  21. #define F_TLOCK        2
  22. #define F_TEST        3
  23.  
  24. /*  for lseek(2)  */
  25.  
  26. #ifndef SEEK_SET
  27. #define SEEK_SET    0
  28. #endif
  29.  
  30. #ifndef SEEK_CUR
  31. #define SEEK_CUR    1
  32. #endif
  33.  
  34. #ifndef SEEK_END
  35. #define SEEK_END    2
  36. #endif
  37.  
  38. /* STDIO definitions */
  39.  
  40. #define    STDIN_FILENO    0
  41. #define    STDOUT_FILENO    1
  42. #define    STDERR_FILENO    2
  43.  
  44. /* Standard paths */
  45.  
  46. #if defined (MSDOS) || defined (__OS2__)
  47. #define GF_PATH        "c:/etc/group"
  48. #define PF_PATH        "c:/etc/passwd"
  49. #define IF_PATH        "c:/include"
  50. #define SF_PATH        "c:/etc/shadow"
  51. #else
  52. #define GF_PATH        "/etc/group"
  53. #define PF_PATH        "/etc/passwd"
  54. #define IF_PATH        "/usr/include"
  55. #define SF_PATH        "/etc/shadow"
  56. #endif
  57.  
  58. /* POSIX definitions */
  59.  
  60. #define _POSIX_VERSION        198803L
  61. #undef    _POSIX_CHOWN_RESTRICTED
  62. #undef    _POSIX_JOB_CONTROL
  63. #define    _POSIX_NO_TRUNC        1
  64. #define _POSIX_SAVED_IDS    1
  65. #undef    _POSIX_VDISABLE
  66. /* #define _XOPEN_VERSION        */
  67.  
  68. /* sysconf values */
  69.  
  70. #define _SC_ARG_MAX        0
  71. #define _SC_CHILD_MAX        1
  72. #define _SC_CLK_TCK        2
  73. #define _SC_NGROUPS_MAX        3
  74. #define _SC_OPEN_MAX        4
  75. #define _SC_JOB_CONTROL        5
  76. #define _SC_SAVED_IDS        6
  77. #define _SC_VERSION        7
  78. #define _SC_PASS_MAX        8
  79. #define _SC_XOPEN_VERSION    9
  80.  
  81. /* pathconf values */
  82.  
  83. #define _PC_LINK_MAX        0
  84. #define _PC_MAX_CANON        1
  85. #define _PC_MAX_INPUT        2
  86. #define _PC_NAME_MAX        3
  87. #define _PC_PATH_MAX        4
  88. #define _PC_PIPE_BUF        5
  89. #define _PC_CHOWN_RESTRICTED    6
  90. #define _PC_NO_TRUNC        7
  91. #define _PC_VDISABLE        8
  92.  
  93. /* confstring values */
  94.  
  95. #define _CS_PATH        1
  96.  
  97. /* WIN NT is a real pain!! */
  98.  
  99. #ifdef WIN32
  100. #  define access    _access
  101. #  define chdir        _chdir
  102. #  define chsize    _chsize
  103. #  define close        _close
  104. #  define creat        _creat
  105. #  define cwait        _cwait
  106. #  define dup        _dup
  107. #  define dup2        _dup2
  108. #  define eof        _eof
  109. #  define execl        _execl
  110. #  define execle    _execle
  111. #  define execlp    _execlp
  112. #  define execlpe    _execlpe
  113. #  define execv        _execv
  114. #  define execve    _execve
  115. #  define execvp    _execvp
  116. #  define execvpe    _execvpe
  117. #  define fcloseall    _fcloseall
  118. #  define fdopen    _fdopen
  119. #  define filelength    _filelength
  120. #  define getcwd    _getcwd
  121. #  define getpid    _getpid
  122. #  define isatty    _isatty
  123. #  define locking    _locking
  124. #  define lseek        _lseek
  125. #  define mktemp    _mktemp
  126. #  define onexit    _onexit
  127. #  define onexit_t    _onexit_t
  128. #  define open        _open
  129. #  define read        _read
  130. #  define rmdir        _rmdir
  131. #  define setmode    _setmode
  132. #  define sopen        _sopen
  133. #  define spawnl    _spawnl
  134. #  define spawnle    _spawnle
  135. #  define spawnlp    _spawnlp
  136. #  define spawnlpe    _spawnlpe
  137. #  define spawnv    _spawnv
  138. #  define spawnve    _spawnve
  139. #  define spawnvp    _spawnvp
  140. #  define spawnvpe    _spawnvpe
  141. #  define strdup    _strdup
  142. #  define tell        _tell
  143. #  define umask        _umask
  144. #  define unlink    _unlink
  145. #  define wcsdup    _wcsdup
  146. #  define write        _write
  147. #endif
  148.  
  149. /* Function declarations */
  150.  
  151. extern size_t _FAR_ _CDECL    confstring _PROTO ((int, char _FAR_ *, size_t));
  152.  
  153. #ifndef __WATCOMC__
  154. extern void _FAR_ _CDECL    abort _PROTO ((void));
  155. #endif
  156.  
  157. #if defined (MSDOS) || defined (__OS2__)
  158. extern int _FAR_ _CDECL        chsize _PROTO ((int, off_t));
  159. #else
  160. extern int _FAR_ _CDECL        chsize _PROTO ((const char _FAR_ *, off_t));
  161. #endif
  162.  
  163. extern void _FAR_ _CDECL    sync _PROTO ((void));
  164.  
  165. /* --- Process creation and execution --- */
  166.  
  167. extern pid_t _FAR_ _CDECL    fork _PROTO ((void));
  168. extern pid_t _FAR_ _CDECL    vfork _PROTO ((void));
  169.  
  170. extern int _FAR_ _CDECL    execl    _PROTO ((const char _FAR_ *,
  171.                      const char _FAR_ *, ...));
  172.  
  173. extern int _FAR_ _CDECL    execle    _PROTO ((const char _FAR_ *,
  174.                      const char _FAR_ *, ...));
  175.  
  176. extern int _FAR_ _CDECL    execlp    _PROTO ((const char _FAR_ *,
  177.                      const char _FAR_ *, ...));
  178.  
  179. extern int _FAR_ _CDECL    execlpe    _PROTO ((const char _FAR_ *,
  180.                      const char _FAR_ *, ...));
  181.  
  182. extern int _FAR_ _CDECL    execv    _PROTO ((const char _FAR_ *,
  183.                      const char _FAR_ * const _FAR_ *));
  184.  
  185. extern int _FAR_ _CDECL    execve    _PROTO ((const char _FAR_ *,
  186.                      const char _FAR_ * const _FAR_ *,
  187.                      const char _FAR_ * const _FAR_ *));
  188.  
  189. extern int _FAR_ _CDECL    execvp    _PROTO ((const char _FAR_ *,
  190.                      const char _FAR_ * const _FAR_ *));
  191.  
  192. extern int _FAR_ _CDECL    execvpe    _PROTO ((const char _FAR_ *,
  193.                      const char _FAR_ * const _FAR_ *,
  194.                      const char _FAR_ * const _FAR_ *));
  195.  
  196. #if defined (MSDOS) || defined (__OS2__) || defined (__TURBOC__) || defined (WIN32)
  197. extern int _FAR_ _CDECL    spawnl    _PROTO ((int, const char *,
  198.                      const char *, ...));
  199.  
  200. extern int _FAR_ _CDECL    spawnle    _PROTO ((int, const char _FAR_ *,
  201.                      const char _FAR_ *, ...));
  202.  
  203. extern int _FAR_ _CDECL    spawnlp    _PROTO ((int, const char _FAR_ *,
  204.                      const char _FAR_ *, ...));
  205.  
  206. extern int _FAR_ _CDECL    spawnlpe _PROTO ((int, const char _FAR_ *,
  207.                       const char _FAR_ *, ...));
  208.  
  209. extern int _FAR_ _CDECL    spawnv    _PROTO ((int, const char _FAR_ *,
  210.                      const char _FAR_ * const _FAR_ *));
  211.  
  212. extern int _FAR_ _CDECL    spawnve    _PROTO ((int, const char _FAR_ *,
  213.                      const char _FAR_ * const _FAR_ *,
  214.                      const char _FAR_ * const _FAR_ *));
  215.  
  216. extern int _FAR_ _CDECL    spawnvp    _PROTO ((int, const char _FAR_ *,
  217.                      const char _FAR_ * const _FAR_ *));
  218.  
  219. extern int _FAR_ _CDECL    spawnvpe _PROTO ((int, const char _FAR_ *,
  220.                       const char _FAR_ * const _FAR_ *,
  221.                       const char _FAR_ * const _FAR_ *));
  222.  
  223. /* Overlay functions for MSDOS */
  224.  
  225. extern int _NEAR _FAR_ _CDECL    _p_overlay;
  226.  
  227. #define P_WAIT        0
  228. #define P_OVERLAY    _p_overlay
  229. #define OLD_P_OVERLAY    2
  230. #if defined (OS2) || defined (__OS2__) || defined (WIN32)
  231. #define P_NOWAIT    1
  232. #define P_NOWAITO    3
  233. #define P_DETACH    4
  234.  
  235. #define WAIT_CHILD    0
  236. #define WAIT_GRANDCHILD 1
  237.  
  238. extern int _FAR_ _CDECL cwait _PROTO ((int _FAR_ *, int, int));
  239. extern int _FAR_ _CDECL wait _PROTO ((int _FAR_ *));
  240. #endif
  241. #endif
  242.  
  243. /*
  244.  * Process termination
  245.  */
  246.  
  247. #ifndef __WATCOMC__
  248. extern void _FAR_ _CDECL    _exit _PROTO ((int));
  249. extern void _FAR_ _CDECL    exit _PROTO ((int));
  250. #endif
  251.  
  252. /*
  253.  * Timer operations
  254.  */
  255.  
  256. extern unsigned int _FAR_ _CDECL    alarm _PROTO ((unsigned int));
  257. extern int _FAR_ _CDECL            pause _PROTO ((void));
  258.  
  259. #if !defined (__WATCOMC__)
  260. #  if defined (MSDOS) || defined (__TURBOC__)
  261. extern void  _FAR_ _CDECL        sleep _PROTO ((unsigned int));
  262. #  else
  263. extern unsigned int _FAR_ _CDECL    sleep _PROTO ((unsigned int));
  264. #  endif
  265. #endif
  266.  
  267. /*
  268.  * Process identification
  269.  */
  270.  
  271. extern pid_t _FAR_ _CDECL    getpid _PROTO ((void));
  272. extern pid_t _FAR_ _CDECL    getppid _PROTO ((void));
  273.  
  274. /*
  275.  * User identification
  276.  */
  277.  
  278. extern uid_t _FAR_ _CDECL        getuid _PROTO ((void));
  279. extern uid_t _FAR_ _CDECL        geteuid _PROTO ((void));
  280. extern gid_t _FAR_ _CDECL        getgid _PROTO ((void));
  281. extern gid_t _FAR_ _CDECL        getegid _PROTO ((void));
  282. extern int _FAR_ _CDECL            setuid _PROTO ((uid_t));
  283. extern int _FAR_ _CDECL            setgid _PROTO ((gid_t));
  284. extern int _FAR_ _CDECL            getgroups _PROTO ((int, gid_t *));
  285. extern char _FAR_ * _FAR_ _CDECL    getlogin _PROTO ((void));
  286. extern char _FAR_ * _FAR_ _CDECL    cuserid _PROTO ((char _FAR_ *));
  287.  
  288. /*
  289.  * Process groups
  290.  */
  291.  
  292. extern pid_t _FAR_ _CDECL        getpgrp _PROTO ((void));
  293. extern pid_t _FAR_ _CDECL        setsid _PROTO ((void));
  294. extern int _FAR_ _CDECL            setpgid _PROTO ((pid_t, pid_t));
  295.  
  296. /*
  297.  * Terminal identification
  298.  */
  299.  
  300. extern char _FAR_ * _FAR_ _CDECL    ctermid _PROTO ((char _FAR_ *));
  301. extern char _FAR_ * _FAR_ _CDECL    ttyname _PROTO ((int));
  302. extern int _FAR_ _CDECL            isatty _PROTO ((int));
  303.  
  304. /*
  305.  * Configurable system variables
  306.  */
  307.  
  308. extern long _FAR_ _CDECL    sysconf _PROTO ((int));
  309.  
  310. /*
  311.  * Working directory
  312.  */
  313.  
  314. extern int _FAR_ _CDECL            chdir _PROTO ((const char _FAR_ *));
  315. extern char _FAR_ * _FAR_ _CDECL    getcwd _PROTO ((char _FAR_ *, size_t));
  316.  
  317. /*
  318.  * General file creation
  319.  */
  320.  
  321. extern int _FAR_ _CDECL        link _PROTO ((const char _FAR_ *,
  322.                           const char _FAR_ *));
  323. #ifndef __WATCOMC__
  324. extern int _FAR_ _CDECL        rename _PROTO ((const char _FAR_ *,
  325.                         const char _FAR_ *));
  326. #endif
  327. extern char _FAR_ * _FAR_ _CDECL mktemp _PROTO ((char _FAR_ *));
  328.  
  329. /*
  330.  * File removal
  331.  */
  332.  
  333. extern int _FAR_ _CDECL        unlink _PROTO ((const char _FAR_ *));
  334. #ifndef __WATCOMC__
  335. extern int _FAR_ _CDECL        remove _PROTO ((const char _FAR_ *));
  336. #endif
  337. extern int _FAR_ _CDECL        rmdir _PROTO ((const char _FAR_ *));
  338.  
  339. /*
  340.  * File characteristics
  341.  */
  342.  
  343. extern int _FAR_ _CDECL        access _PROTO ((const char _FAR_ *, int));
  344. extern int _CDECL        chown _PROTO ((const char _FAR_ *, uid_t, gid_t));
  345. extern long _FAR_ _CDECL    tell _PROTO ((int));
  346. extern int _FAR_ _CDECL        eof _PROTO ((int));
  347. extern long _FAR_ _CDECL    filelength _PROTO ((int));
  348. extern mode_t _FAR_ _CDECL    umask _PROTO ((mode_t));
  349.  
  350. /*
  351.  * Configurable pathname variables
  352.  */
  353.  
  354. extern long _FAR_ _CDECL    pathconf _PROTO ((char _FAR_ *, int));
  355. extern long _FAR_ _CDECL    fpathconf _PROTO ((int, int));
  356.  
  357. /*
  358.  * Pipes
  359.  */
  360.  
  361. extern int _FAR_ _CDECL        pipe _PROTO ((int[2]));
  362.  
  363. /*
  364.  * File descriptor manipulation
  365.  */
  366.  
  367. extern int _FAR_ _CDECL        dup _PROTO ((int));
  368. extern int _FAR_ _CDECL        dup2 _PROTO ((int, int));
  369.  
  370. /*
  371.  * File descriptor assignment
  372.  */
  373.  
  374. #ifndef __WATCOMC__
  375. extern int _FAR_ _CDECL    open _PROTO ((const char _FAR_ *, int, ...));
  376. extern int _FAR_ _CDECL    sopen _PROTO ((const char _FAR_ *, int, int, ...));
  377. #endif
  378. extern int _FAR_ _CDECL    creat _PROTO ((const char _FAR_ *, mode_t));
  379. extern int _FAR_ _CDECL    setmode _PROTO ((int, int));
  380.  
  381. /*
  382.  * File descriptor deassignment
  383.  */
  384.  
  385. extern int _FAR_ _CDECL    close _PROTO ((int));
  386.  
  387. /*
  388.  * Input and output
  389.  */
  390.  
  391. extern int _FAR_ _CDECL    read _PROTO ((int, const void _FAR_ *, unsigned int));
  392. extern int _FAR_ _CDECL    write _PROTO ((int, const void _FAR_ *, unsigned int));
  393.  
  394. /*
  395.  * Control operations on files
  396.  */
  397.  
  398. extern off_t _FAR_ _CDECL    lseek _PROTO ((int, off_t, int));
  399. extern int _FAR_ _CDECL     locking _PROTO ((int, int, long));
  400. #endif
  401.